load("//bazel:skia_rules.bzl", "exports_files_legacy", "select_multi", "skia_cc_library")

licenses(["notice"])

exports_files_legacy()

skia_cc_library(
    name = "window",
    testonly = True,
    srcs = [
        "RasterWindowContext.h",
        "WindowContext.cpp",
    ] + select_multi({
        "//src/gpu:gl_ganesh": [
            "GLWindowContext.cpp",
            "GLWindowContext.h",
        ],
        "//src/gpu:vulkan_ganesh": [
            "VulkanWindowContext.h",
            "VulkanWindowContext.cpp",
        ],
    }) + select({
        "@platforms//os:android": ["//tools/window/android:srcs"],
        "//conditions:default": [],
    }) + select({
        "@platforms//os:linux": ["//tools/window/unix:srcs"],
        "//conditions:default": [],
        # TODO(kjlubick) add Windows/Mac support
    }),
    hdrs = [
        "DisplayParams.h",
        "WindowContext.h",
    ],
    visibility = ["//:__subpackages__"],
    deps = [
        "//:skia_internal",
    ] + select({
        "//src/gpu:vulkan_ganesh": ["//tools/gpu/vk:testutils"],
        "//conditions:default": [],
    }) + select({
        "@platforms//os:android": ["//tools/window/android:deps"],
        "//conditions:default": [],
    }),
)
